使用 mvn archetype 快速创建模板工程
点击上方☝SpringForAll社区 轻松关注!
本文来源:http://r6d.cn/abTtE
避免重复工作,记录制作 maven 模板
前言
微服务的概念越来越流行,随着服务粒度越来越细,拆分的模块越来越明确,我们的工程项目也变得越来越多。
有时候一个项目搭建,需要集成数据库、Spring 框架、消息框架、分布式任务框架、缓存等等,如果每次都新建空项目,重新配置,有点太麻烦,所以可以使用项目模板功能
“maven archetype:create-from-project,制作符合需求的脚手架工程
”
配置 demo 工程
一般制作的话,使用公司内常用的中间件依赖,制作一份统一的模板,后续新建项目就能更加快速和模块分级合理化。
这里记录的是常规项目模板制作:
打开 IDEA,新建一个工程(同样可以使用 IDEA 工具中自带的模板)
新建模块 module,制定合适的模块层级
├── test-controller
│ ├── pom.xml
│ └── src
├── test-core
│ ├── pom.xml
│ └── src
├── test-dao
│ ├── pom.xml
│ └── src
├── test-deploy
│ ├── pom.xml
│ └── src
....// 其它扩展模块
├── README.md
├── .gitignore
└── pom.xml
例如上面那样结构,在 src 目录下方 java、resource、webapp 等文件
生成模板
mvn archetype:create-from-project
在项目目录下,输入该指令,等待执行完
可以在本地模式下测试模板是否符合预期,进入 target 目录下的 archetype 目录
cd ${Your Project File Directory}/target/generated-sources/archetype
例如上图,确认项目结构无误后,将模板安装到本地
mvn install
接着就能在 .m2/repository 目录下看到 archetype-catalog.xml,在里面多了刚才生成的模板
<archetype>
<groupId>org.example</groupId>
<artifactId>test-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
<description>test-archetype</description>
</archetype>
生成项目
mvn archetype:generate \
-DarchetypeGroupId=org.example \
-DarchetypeArtifactId=test-archetype \
-DarchetypeVersion=1.0-SNAPSHOT \
-DinteractiveMode=false \
-DarchetypeCatalog=local \
-Dversion=1.0.0-SNAPSHOT \
-DgroupId=cn.sevenyuan \
-DartifactId=sevenyuan
-D
后面的参数是要重点说明一下的:
archetypeGroupId
:模板组织 IDarchetypeArtifactId
:模板 artifact IDarchetypeVersion
:模板版本号interactiveMode
:是否启用交互模式archetypeCatalog
:模板目录位置,分为 remote 和 localversion
:自己应用的版本号groupId
:自己应用的组织 IDartifactId
:自己应用的 artifact ID
例如我使用了 cn.sevenyuan 这个组织名,生成的目录结构如下
上传模板到仓库
需要在 target/generated-sources/archetype
目录下的 pom
文件中加入仓库地址,例如如下示范
<!--运行 mvn deploy 时上传构件到本地仓库 -->
<distributionManagement>
<repository>
<id>xxx-releases</id>
<name>Nexus Release Repository</name>
<url>http://xxx.com/nexus/content/repositories/xxx-release/</url>
</repository>
<snapshotRepository>
<id>xxx-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://xxx.com/nexus/content/repositories/xxx-test/</url>
</snapshotRepository>
</distributionManagement>
接着在 archetype 目录下,执行 deploy 命令
mvn deploy
只要别人在 .m2 配置了该仓库地址,就可以一起使用这个项目模板
参看链接
1、Maven自定义archetype生成项目骨架
墙裂推荐
【深度】互联网技术人的社群,点击了解!
关注公众号,回复“spring”有惊喜!!!
如果资源对你有帮助的话